package model;
import java.util.ArrayList;
/**
 *
 * @author Gruppe 5
 */
public class KundeCont
{
    ArrayList<Kunde> kunder;
    private static KundeCont instance;

    public KundeCont()
    {
        kunder = new ArrayList<Kunde>();
    }

    public static KundeCont getInstance()
    {
        if(instance == null)
        {
            instance = new KundeCont();
        }
        return instance;
    }

    public int addKunde(Kunde p)
    {
        int nyKundeNr = 1;
        if (p.getKundeNr() == 0)
        {
            if(kunder.size() > 0)
            {
                int lastIndex = kunder.size()-1;
                Kunde lastKunde = kunder.get(lastIndex);
                nyKundeNr = lastKunde.getKundeNr();
                nyKundeNr += 1;
            }
            p.setKundeNr(nyKundeNr);
        }
        kunder.add(p);
        return nyKundeNr;
    }

    

    public Kunde findKundeNr(int tlf)
    {
        for(Kunde kunde : kunder)
        {
            if(kunde.getTlf() == tlf)
            {
                return kunde;
            }
        }
        return null;
    }

    public void sletKunde(int kundeNr)
    {
        Kunde kunde = findKunde(kundeNr);
        kunder.remove(kunde);
    }

    public void setList(ArrayList<Kunde> kunder)
    {
        this.kunder = kunder;
    }

    public ArrayList getList()
    {
        return (ArrayList<Kunde>)kunder.clone();
    }

    public Kunde findKundeVedTlf(int tlf)
    {
        for(Kunde person : kunder)
        {
            if(person.getTlf() == tlf)
            {
                return person;
            }
        }
        return null;
    }

    public ArrayList listKunde ()
    {
        ArrayList<Kunde> listKunde = new ArrayList<Kunde>();
        for(Kunde kundeobjekt : kunder)
       {
            listKunde.add(kundeobjekt);
        }//end foreach
        return listKunde;
    }

    public Kunde findKunde(int kundeNr)
    {
        for(Kunde kunde : kunder)
        {
            if(kunde.getKundeNr() == kundeNr)
            {
                return kunde;
            }
        }
        return null;
    }
    
    public void printAlleKunder()
    {
        for(Kunde kunde : kunder)
        {
            kunde.printKunde();
        }
    }
}

